﻿<?php

class ControleUsuario{
	
	public function cadastrar(Usuario $usuario) {
			
		include_once("../conexao/config.php");
		$conexao = new Config();

		$query  = 'INSERT INTO usuario VALUES (NULL, ?, ?, ?, ?, ?, NOW(), NOW(), 1)';			
					
		$stmt = $conexao->conectar()->prepare($query);
		$stmt->bindValue(1, $usuario->getNome());
		$stmt->bindValue(2, $usuario->getEmail());
		$stmt->bindValue(3, $usuario->getLogin());
		$stmt->bindValue(4, $usuario->getSenha());
		$stmt->bindValue(5, $usuario->getEsqueceuSenha());
			
		$stmt->execute();			
	}
		
	public function pesquisar($id) {
		
		include_once("../conexao/config.php");
		$conexao = new Config();
		
		$query = "select * from usuario where id_usuario = ?";
		
		$stmt = $conexao->conectar()->prepare($query);
		$stmt->bindValue(1, $id);
		
		$stmt->execute();
		
		if($row = $stmt->fetch()) {
			$nome = $row['nome_usuario'];
			$email = $row['email_usuario'];
			$login = $row['login_usuario'];
			$senha = $row['senha_usuario'];
			$esqueceuSenha = $row['esqueceu_senha'];
			$ativado = $row['ativado_usuario'];	
			
			include_once('usuario.php');
			
			$usuario = new Usuario($nome, $email, $login, $senha, $esqueceuSenha, $ativado);
			$usuario->setId($id);
			return $usuario;
		}
	}
		
	public function pesquisarComFiltro($texto, $filtro) {
	
		include_once("../conexao/config.php");
		$conexao = new Config();
		
		$query = "select * from usuario where " . $filtro . " like ?";
		
		$stmt = $conexao->conectar()->prepare($query);				


		$stmt->bindValue(1, '%' . $texto . '%');
		
		$stmt->execute();
		
		return $stmt;
	}
	
	public function pesquisarUltimos() {
		
		include_once("../conexao/config.php");
		$conexao = new Config();
		
		$query = "select * from usuario order by id_usuario DESC limit 0, 10";
		
		$stmt = $conexao->conectar()->prepare($query);				
		
		$stmt->execute();
		
		return $stmt;
	}
	
	public function alterarSenha($senha, $esqueceuSenha, $idUsuario) {
		
		include_once("../conexao/config.php");
		$conexao = new Config();
		
		$query = "update usuario set senha_usuario = ?, esqueceu_senha = ?, ultima_atualizacao_usuario = NOW() where id_usuario = ?";
		
		$stmt = $conexao->conectar()->prepare($query);
		
		$stmt->bindValue(1, $senha);
		$stmt->bindValue(2, $esqueceuSenha);
		$stmt->bindValue(3, $idUsuario);
		
		$stmt->execute();		
	}
	
	public function alterarUsuario(Usuario $usuario) {
		
		include_once("../conexao/config.php");
		$conexao = new Config();
		
		$query = "update usuario set nome_usuario = ?, ultima_atualizacao_usuario = NOW(), ativado_usuario = ? 
		where id_usuario = ?";
		
		$stmt = $conexao->conectar()->prepare($query);
		
		$stmt->bindValue(1, $usuario->getNome());		
		$stmt->bindValue(2, $usuario->getAtivado());
		$stmt->bindValue(3, $usuario->getId());
		
		$stmt->execute();		
	}
	
	public function esqueceuSenha($email) {
		
		include_once("../conexao/config.php");
		$conexao = new Config();
		
		$query = "select * from usuario where email_usuario = ? and ativado_usuario = 1";
		
		$stmt = $conexao->conectar()->prepare($query);
		
		$stmt->bindValue(1, $email);
		
		$stmt->execute();
		
		if($row = $stmt->fetch()) {
			$nome = $row['nome_usuario'];
			$email = $row['email_usuario'];
			$login = $row['login_usuario'];
			$senha = $row['senha_usuario'];
			$esqueceuSenha = $row['esqueceu_senha'];
			$ativado = $row['ativado_usuario'];	
			
			include_once('usuario.php');
			
			$usuario = new Usuario($nome, $email, $login, $senha, $esqueceuSenha, $ativado);
			return $usuario;
		}
		
	}
	
	public function remover($id) {
		
		include_once("../conexao/config.php");
		$conexao = new Config();
		
		$query = "delete from usuario where id_usuario=?";
		
		$stmt = $conexao->conectar()->prepare($query);
		
		$stmt->bindValue(1, $id);
		
		$stmt->execute();
	}
	
}

?>